<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:cc="http://java.sun.com/jsf/composite"
	xmlns:fn="http://java.sun.com/jsp/jstl/functions">


<cc:interface>
	<cc:attribute name="tipoDocumento" required="true"
		shortDescription="atributo en el que se guardara la seleccion de tipo de documento" />
	<cc:attribute name="tiposDocumentos" required="true"
		shortDescription="atributo que se lista en el combo de tipos de documento" />
	<cc:attribute name="isConsulta" required="true"
		shortDescription="atributo que indicara el modo consulta de la funcionalidad" />
	<cc:attribute name="isEdicion" required="true"
		shortDescription="atributo que indicara el modo edicion de la funcionalidad" />
	<cc:attribute name="bean" required="true"
		shortDescription="Manager de la clase implementadora" />
	<cc:attribute name="descripcion" required="true"
		shortDescription="atributo en el que se guardara la descripcion"
		type="String" />
	<cc:attribute name="tiposArchivos" required="false"
		shortDescription="lista de extensiones de archivos validos separados por coma(,)"
		default="jpg, png, bmp, gif, tiff, tif, jpeg, pdf" />
	<cc:attribute name="mensajeTipoInvalido" required="false"
		shortDescription="mensaje a mostrar cuando el archivo no cumple con la extension"
		default="Solo se permiten tipos de archivo .jpg, .png, .bmp, .gif, .tiff, .tif, .jpeg y pdf" />
</cc:interface>

<cc:implementation>

	<h:panelGrid columns="6"
		columnClasses="col16, col17, col16, col17,col45, col45" width="100%">
		<h:panelGrid columns="2">
			<h:outputLabel value="${msg['bienes.fileUpload.tipoDocumento']}"
				for="tipoDocumento" />
			<h:outputLabel value="*" rendered="#{!cc.attrs.isConsulta}" />
		</h:panelGrid>
		<h:selectOneMenu id="tipoDocumento" value="#{cc.attrs.tipoDocumento}"
			validatorMessage="Requerido" disabled="#{cc.attrs.isConsulta}">
			<f:selectItems value="#{cc.attrs.tiposDocumentos}" />
		</h:selectOneMenu>
		<h:panelGrid columns="2">
			<h:outputLabel value="${msg['bienes.fileUpload.anexo']}"
				for="uploadDocumento" />
			<h:outputLabel value="*" rendered="#{!cc.attrs.isConsulta}" />
		</h:panelGrid>
		<rich:fileUpload id="uploadDocumento"
			fileUploadListener="#{cc.attrs.bean.listener}"
			acceptedTypes="#{cc.attrs.tiposArchivos}"
			ontyperejected="alert(#{cc.attrs.mensajeTipoInvalido});"
			sizeExceededLabel="${msg['bienes.fileUpload.excedeMaximo']}"
			maxFilesQuantity="1" addLabel="${msg['bienes.fileUpload.examinar']}"
			clearAllLabel="" deleteLabel="${msg['bienes.fileUpload.borrar']}"
			doneLabel="${msg['bienes.fileUpload.finalizado']}" listHeight="40px"
			uploadLabel="${msg['bienes.fileUpload.cargar']}"
			clearLabel="${msg['bienes.fileUpload.limpiar']}"
			rendered="#{!cc.attrs.bean.ocultarUpload}">
			<f:validator
				validatorId="gov.fng.sijyp.general.util.validator.FileUploadValidator" />
		</rich:fileUpload>
		<h:panelGrid id="linkUpload" columns="3" styleClass="rf-fu"
			rendered="#{cc.attrs.bean.ocultarUpload}">
			<h:commandLink value="#{cc.attrs.bean.bienDocumento.nombre}"
				action="#{cc.attrs.bean.download}" />
						&nbsp;
						<a4j:commandLink value="${msg['bienes.fileUpload.limpiar']}"
				action="#{cc.attrs.bean.limpiarUpload}"
				render="@form :uploadDocumento" rendered="#{!cc.attrs.isConsulta}" />
		</h:panelGrid>
		<h:outputText value="" />
		<h:outputText value="" />
		<h:outputText value="" />
		<rich:message for="tipoDocumento" ajaxRendered="true" />
		<h:outputText value="" />
		<rich:message for="uploadDocumento" ajaxRendered="true" />
		<h:outputText value="" />
		<h:outputText value="" />
	</h:panelGrid>


	<h:panelGrid width="100%" columns="2" columnClasses="col16,col84">
		<h:panelGrid columns="2">
			<h:outputLabel value="${msg['bienes.fileUpload.descripcion']}"
				for="descripcionDoc" />
			<h:outputLabel value="*" rendered="#{!cc.attrs.isConsulta}" />
		</h:panelGrid>
		<h:panelGrid width="100%">
			<h:inputTextarea id="descripcionDoc" style="width:100%"
				styleClass="long" rendered="true" value="#{cc.attrs.descripcion}"
				validatorMessage="Requerido" converterMessage="Requerido"
				requiredMessage="Requerido" disabled="#{cc.attrs.isConsulta}">
				<f:ajax render="caraceteresPermitidosDetalleDocumento" event="keyup"
					onevent="restringirCaracteres(this,250)" />
				<f:ajax render="caraceteresPermitidosDetalleDocumento"
					event="keydown" onevent="restringirCaracteres(this,250)" />
				<f:validateLength maximum="250" />
			</h:inputTextarea>
			<h:outputText id="caraceteresPermitidosDetalleDocumento"
				value="#{fn:length(cc.attrs.descripcion)} #{msg['bienes.detalleBien.de250CaracteresPermitidos']}"
				style="width: 100% " />
		</h:panelGrid>
		<h:outputText value="" />
		<rich:message for="descripcionDoc" ajaxRendered="true" />
	</h:panelGrid>

	<h:panelGroup style="text-align:center;" layout="block">
		<a4j:commandButton value="${msg['boton.adicionar']}"
			action="#{cc.attrs.bean.guardarDocumento}"
			render="@form :sijypMessages"
			rendered="#{!cc.attrs.isEdicion and !cc.attrs.isConsulta}" />
		<a4j:commandButton value="${msg['boton.modificar']}"
			action="#{cc.attrs.bean.modificarDocumento}"
			rendered="#{cc.attrs.isEdicion and !cc.attrs.isConsulta}"
			render="@form :sijypMessages" execute="@form" />
		<h:commandButton value="${msg['boton.cancelar']}"
			rendered="#{!bienManager.reading }">
			<f:ajax execute="@this" listener="#{cc.attrs.bean.cancelarAccion}"
				render="@form :sijypMessages" />
		</h:commandButton>
	</h:panelGroup>
</cc:implementation>

</html>

